// 判断是否是数组

// =================第一种方法======================
function isArrayF(obj) {
  return Object.prototype.toString.call(obj) === '[object Array]'
}
// 在 JavaScript 中，Symbol.toStringTag 是一个符号，可以在对象实例上定义并使用。它可以让我们定制对象的 toString() 返回的字符串类型
const objF = {
  [Symbol.toStringTag]: 'abc'
}
// 输出[object abc]
console.log(Object.prototype.toString.call(objF))

console.log(isArrayF(objF))

// =================第二种方法======================
function isArrayS(obj) {
  return obj instanceof Array
}

const objS = {}
Object.setPrototypeOf(objS, Array.prototype)
console.log(isArrayS(objS))

// =================第三种方法======================
// 当两个iframe（不同）页面会出问题==>用顶层页面的方法判断里边的obj是否是数组会出错==>两个构造函数不一样==>isArray是不可模仿替换的，因此使用isArray判断
const objT = {}
Array.isArray(objT)
